# 带着二哈去旅行丶:ZZQ
# 生成时间：2021/12/7 下午2:45

# 16.2 制作全球地震散点图：JSON格式.2  制作全球地震散点图：JSON格式
# 16.2.2 查看JSON数据

print('ed.1--------查看数据')
'''
import json

# 探索数据的结构
filename = 'eq_data/eq_data_1_day_m1.json'
with open(filename) as f:
    all_eq_data = json.load(f)         # json.load()将数据转换为Python能够处理的格式，这里是一个庞大的字典

readable_file = 'eq_data/readable_eq_data.json'    # 创建一个文件，将数据以易读取的方式写入
with open(readable_file, 'w') as f:
    json.dump(all_eq_data, f, indent=4)
# json.dump()接受一个JSON数据对象和一个文件对象，并将数据写入文件。indent=4让dump（）使用数据结构匹配的缩进量来设置数据格式
'''

print('2 创建地震列表')
'''
import json

# 探索数据的结构
filename = 'eq_data/eq_data_1_day_m1.json'
with open(filename) as f:
    all_eq_data = json.load(f)         # json.load()将数据转换为Python能够处理的格式，这里是一个庞大的字典

# 每次处理一两个嵌套层级
all_eq_dicts = all_eq_data['features']
print(len(all_eq_dicts))                # len()统计有多少个项目
'''
print('3 提取地震级')
'''
import json

# 探索数据的结构
filename = 'eq_data/eq_data_1_day_m1.json'
with open(filename) as f:
    all_eq_data = json.load(f)         # json.load()将数据转换为Python能够处理的格式，这里是一个庞大的字典

# 每次处理一两个嵌套层级
all_eq_dicts = all_eq_data['features']
mags = []                               # 存震级
for eq_dict in all_eq_dicts:            # 遍历
    mag = eq_dict['properties']['mag']  # 震级存储在properties字典部分的mag部分
    mags.append(mag)

print(mags[:10])                        # 打印10次
'''
print("4 提取位置数据")

import json

# filename = 'eq_data/eq_data_1_day_m1.json'
filename = 'eq_data/eq_data_30_day_m1.json'
with open(filename) as f:
    all_eq_data = json.load(f)

all_eq_dicts = all_eq_data['features']
mags, titles, lons, lats = [], [], [], []
for eq_dict in all_eq_dicts:
    mag = eq_dict['properties']['mag']
    title = eq_dict['properties']['title']  # 提取字典properties里的title键对应的值，以存储经纬度的列表
    lon = eq_dict['geometry']['coordinates'][0]  # 字典：eq_dict访问键相连的字典 keys:value    经度
    lat = eq_dict['geometry']['coordinates'][1]  # 存储纬度
    mags.append(mag)
    titles.append(title)
    lons.append(lon)
    lats.append(lat)

# print(mags[:10])
# print(titles[:2])
# print(lons[:5])
# print(lats[:5])
